回想一下這幾天做的事
function buildGraph:
以原始路線資料建立出路線網絡物件的函式
class VillageState:
宅配機器人以 VillageState 為參數並回傳附近地點
但需要讓機器人記憶資料以決定要『往哪裡』進行配送
因此要對要將記憶資料傳送給它們並讓他們回傳新的記憶
runRobot
接收3個 parameter
function runRobot(state, robot, memory) {
/*
turn 為計算總移動的次數
當所有包裹都被投遞,則脫離迴圈
當還沒投遞完,則重複進行『移動』與更新狀態
*/
for (let turn = 0; ; turn++) {
if (state.parcels.length === 0) {
console.log(`Done in ${turn} turns`);
break;
}
let action = robot(state, memory);
state = state.move(action.direction);
memory = action.memory;
console.log(`Move to ${action.direction}`);
}
}